﻿// 701 求下一个更大数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
using namespace std;

/*
http://oj.daimayuan.top/course/7/problem/506

给你 n个整数 a1,a2,…,an
，请问从每个数字往后看，第一个比它大的数字的下标是多少？如果后面没有比它大的数字，则输出 0。

输入格式
第一行一个整数 n。

接下来一行 n个整数 a1,a2,…,an。

输出格式
输出一行 n个整数，表示答案。

样例输入
7
2 6 3 1 5 7 4
样例输出
2 6 5 5 6 0 0
数据规模
对于 100%的数据，保证 1≤n≤2×105,1≤ai≤109。
*/

const int N = 200010;
int arr[N];
deque<int> q;
int n;


int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> arr[i];
	}
	vector<int> ans;
	for (int i = n ; i >= 1; i--) {
		while (!q.empty() && arr[q.back()] <= arr[i]) 
			q.pop_back();
		if (q.empty()) {
			ans.push_back(0);
		}
		else {
			ans.push_back(q.back());
		}
		q.push_back(i);
	}

	reverse(ans.begin(),ans.end());

	for (auto& e : ans) {
		cout << e << " ";
	}

	return 0;
}

 